package com.kongwg.java;

import org.junit.Test;

import java.util.Scanner;

/**
 * @author kongwg
 * @create 2020-12-30 9:53
 */
public class IfTest1 {

    /**
     * 彩票游戏
     * 假设你想开发一个玩彩票的游戏，程序随机地产生一个两位数的彩票，
     * 提示用户输入一个两位数，然后按照下面的规则判定用户是否能赢。
     * <p>
     * 1)如果用户输入的数匹配彩票的实际顺序，奖金10 000美元。
     * 2)如果用户输入的所有数字匹配彩票的所有数字，但顺序不一致，奖金 3 000美元。
     * 3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字，奖金1 000美元。
     * 4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字，奖金500美元。
     * 5)如果用户输入的数字没有匹配任何一个数字，则彩票作废。
     * <p>
     * 提示：使用Math.random() 产生随机数
     * Math.random() 产生[0,1)范围的随机值
     * Math.random() * 90：[0,90)
     * Math.random() * 90 + 10：[10,100) 即得到  [10,99]
     * 使用(int)(Math.random() * 90  + 10)产生一个两位数的随机数。
     */

//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("输入一个两位数");
//        int userPrint = scanner.nextInt();
//        int random = 0;
//        random = (int) (Math.random() * 90 + 10);
//
//        if (random == userPrint){
//            System.out.println("奖励10000元");
//        }else if (random == ){
//
//        }
//    }
    public static void main(String[] args) {
        /**
         * 提供三个1-6的随机数，作为掷骰子得到的点数。如果各个点数相同，则为豹子。
         * 如果三个骰子点数和，小于或等于9，则为“小”。
         * 如果三个骰子点数和，大于9，则为“大”。
         * 用户随机选择：押大、押小或者押豹子。通过判断，输出客户是否押正确。
         */


        while (true) {
            int a = (int) (Math.random() * 6 + 1);
            int b = (int) (Math.random() * 6 + 1);
            int c = (int) (Math.random() * 6 + 1);
            if (a == b && b == c) {
                System.out.println("豹子");
            } else if (a + b + c < 9) {
                System.out.println("小");
            } else if (a + b + c > 9) {
                System.out.println("大");
            }
        }

    }

    @Test
    public void test3() {

//        public void method(){
//            for(int i = 0; i < 3; i++) {
//                System.out.print(i);
//            }
//            System.out.print(i);
//    }
    }


    @Test
    public void test() {
        for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 20; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

    @Test
    public void test4() {
        int a = 4;

        for (int i = 0; i <= a; i++) {
//
//            for (int j =0; j < i; j++) {
//                System.out.print("#");
//            }
            for (int j = 0; j < a - i; j++) {
                System.out.print("#");
            }
//            for (int j = 0; j < i ; j++) {
//                System.out.print("#");
//            }
            System.out.println();
        }
    }

    @Test
    public void test5() {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i + " x " + j + " = " + i * j + "\t");

            }
            System.out.println();

        }
    }

    @Test
    public void test6() {
        /**
         * 3000米长的绳子，每天减一半。问多少天这个绳子会小于5米？不考虑小数
         */
//        int i=0;
//
//        int length = 3000;
//        while(true){
//            i++;
//            int hlaf = 0;
//            hlaf = length / 2;
//            if (hlaf < 5){
//                break;
//            }
        int day = 0;
        for (int length = 3000; length >= 5; length /= 2) {
            day++;
        }
        System.out.println(day);
    }

    @Test
    public void test7() {
        /**
         * 打印1-100之间非13的倍数，使用continue语句
         */

        for (int i = 1; i < 100; i++) {
            if (i % 13 == 0) {
                continue;
            }
            System.out.println(i);

        }
    }

    @Test
    public void test8() {
        /**
         * 用循环控制语句打印输出：1+3+5+...+99=?的结果
         */
        int i = 0;
        for (i = 1; i < 100; i++) {
            if (i % 2 != 0) {
                i += i;
            }
        }
        System.out.println(i);
    }

    @Test
    public void test9() {
        /**
         * 调和级数的第n项形式为：1+1/2+1/3+…+1/n
         */
        double sum = 0.0;
        int i = 1;
        ;
        while (true) {

            sum += 1.0 / i;
            if (sum >= 10) {
                break;
            }

            i++;

        }
        System.out.println(i);
    }

    @Test
    public void test10() {
        /**
         * 打印三角形
         */
        for (int i = 0; i <= 5; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();

        }
        for (int i = 0; i <= 5; i++) {
            for (int j = 0; j < 5 - i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

    }
    @Test
    public void test11(){
        /**
         * 山上有一口缸可以装50升水，现在有15升水。
         * 老和尚叫小和尚下山挑水，每次可以挑5升。
         * 问：小和尚要挑几次水才可以把水缸挑满？
         * 通过编程解决这个问题。
         */
        int weter = 15;
        int i = 0;
        while (true){
            i++;
            weter += 15;
            if (weter >= 50){
                break;
            }

        }
        System.out.println(i);
    }
}


